using System;
using System.Collections.Generic;
using System.Text;

namespace MakeIT.SGI.ERP.Entidades
{
	public class FilialVO
	{
		// Impedir o uso de new para esta classe
		protected FilialVO() { }

		// Cria uma instancia desta classe
		public static FilialVO CreateVO()
		{
			FilialVO filial = new FilialVO();
			filial.idEmpresaVO = EmpresaVO.CreateVO();
			return filial;
		}
		public static FilialVO CreateVO(int idFilial, string filial)
		{
			FilialVO obj = CreateVO();
			obj.idFilial = idFilial;
			obj.filial = filial;
			return obj;
		}
		// Descrição amigavel do conteudo deste objeto
		public override string ToString()
		{
			return  filial!=null?filial.ToString():"";
		}
		// Retorna PK concatenada com ";"
		public string PKString
		{
			get { return idFilial.ToString(); }
		}

		#region MEMBROS DA CLASSE
		public int idFilial
		{
			get { return this._idFilial; }
			set { this._idFilial = value; }
		}
		private int _idFilial;
		public string filial
		{
			get { return this._filial; }
			set { this._filial = value; }
		}
		private string _filial;
		public int idEmpresa
		{
			get { return this._idEmpresa; }
			set { this._idEmpresa = value; 
			      if(value!=null) this.idEmpresaVO.idEmpresa = (int)value; }
		}
		private int _idEmpresa;
		public bool? matriz
		{
			get { return this._matriz; }
			set { this._matriz = value; }
		}
		private bool? _matriz;
		public DateTime cadastro
		{
			get { return this._Cadastro; }
			set { this._Cadastro = value; }
		}
		private DateTime _Cadastro;
		public string cadastradoPor
		{
			get { return this._CadastradoPor; }
			set { this._CadastradoPor = value; }
		}
		private string _CadastradoPor;
		public DateTime edicao
		{
			get { return this._Edicao; }
			set { this._Edicao = value; }
		}
		private DateTime _Edicao;
		public string editadoPor
		{
			get { return this._EditadoPor; }
			set { this._EditadoPor = value; }
		}
		private string _EditadoPor;
		public EmpresaVO idEmpresaVO
		{
			get { return this._idEmpresaVO; }
			set { this._idEmpresaVO = value; }
		}
		private EmpresaVO _idEmpresaVO;
		#endregion
	}
}
